function PA(handle) {
  this.table = {};
  this.handle = null;
  this.exec = function () {
    if (this.handle)
      this.handle(this);
  }
  this.pa = function (key, value) {
    if (!key) return;
    var cb = this.table[key];
    if (cb) {
      cb(this, value);
    }
  }
  this.then = function (key, resolve) {
    if (key && resolve)
      this.table[key] = resolve;
    return this;
  }
  if (handle)
    this.handle = handle;
}

module.exports = PA